草庐IT

c++ - 小数位数之和

全部标签

java - 是否有类似 C 的方法从 Java 中的枚举中获取项目编号?

也许这是一个简单的基础问题有一个枚举publicenumTK{ID,GROUP,DATA,FAIL;}我可以得到订单号,例如ID=0,GROUP=2,DATA=3,FAIL=4吗?这是一种方法,但是很奇怪而且很长!=SpublicenumTK{ID(0),GROUP(1),DATA(2),FAIL(3);intnum;TK(intn){this.num=n;}publicintget(){returnnum;}};为了获取数字,所以我写了TK.ID.get()、TK.GROUP.get()等...我不喜欢这样有更好的方法吗?(C枚举,C宏..我想你们俩)谢谢

java - 你怎么知道机器的堆栈在内存中是向上还是向下增长? (Java)

我有一个C程序来检查机器堆栈在内存中是增长还是下降。它是这样的:#includevoidsub(int*a){intb;if(&b>a){printf("Stackgrowsup.");}else{printf("Stackgrowsdown.");}}main(){inta;sub(&a);}现在我想在Java中做同样的事情。:-)谁知道无需编写任何native代码的解决方案???谢谢 最佳答案 如果您不编写任何native代码,那么我无法想象它在纯Java代码中可能会很重要的情况。毕竟,Java堆栈可能会在任何方向上分配,而不是

java - 预测乘法的位数

我需要找出非常大的乘法的位数(每个乘法大约300位)。我想知道是否有一种技巧可以在不实际执行计算的情况下预测产品的位数。 最佳答案 可以通过两个被乘数的base10log的四舍五入(向下)和加1来计算精确的位数,如下:publicstaticvoidmain(String[]args){DecimalFormatf=newDecimalFormat("#");doublenum1=12345678901234567890d;doublenum2=314159265358979d;//Here'sthelinethatdoesthew

java - Java 中 C 的 "static"关键字等同于什么?

我想知道java中的等效关键字是什么,它可以执行与“C中的静态关键字”相同的功能。我想在java中进行递归,执行与C中的静态关键字相同的功能...请帮忙.. 最佳答案 C对static关键字有两种完全不同的用法,C++增加了第三种用法://Use1:declareavariableorfunctiontobelocaltoagivenmodule//Atglobalscope:staticintglobal_var;staticvoidfunc();在这种情况下,全局变量global_var和函数voidfunc()只能在声明它们的

java - "long x = 1/2"等于 1 还是 0,为什么?

这个问题在这里已经有了答案:Integerdivision:Howdoyouproduceadouble?(11个答案)关闭7年前。如果我有类似的东西:longx=1/2;这不应该四舍五入为1吗?当我在屏幕上打印它时,它显示为0。

java - 为什么 Java 在这里运行得比 C 快?

灵感来自thisquestion,现在仅对拥有>10k代表的用户可见我想出了以下代码:$catloop.cintmain(intargc,char**argv){inti=0;while(i++为什么Java版本的运行速度几乎比C版本快3倍?我在这里缺少什么?这是在Ubuntu9.04上运行的:英特尔(R)奔腾(R)M@1.73GHz32位编辑这太棒了。在C中使用-O3选项优化循环并在Java中使用-server做同样的事情。这是“优化时间”。 最佳答案 我预计javac的默认优化级别高于您的C编译器。当我在这里用-O3编译时,C的

java - 如何在不舍入的情况下在 Java 中截断小数?

我有一系列Java小数,例如:0.436784362876438720.43234245564556540.6575643254344554我希望截掉小数点后5位的所有内容。这怎么可能? 最佳答案 如果你想让事情变得快速和简单。;)publicstaticvoidmain(String...args){double[]values={0.43678436287643872,0.4323424556455654,0.6575643254344554,-0.43678436287643872,-0.4323424556455654,-0

c# - 三元运算符如何工作?

请演示三元运算符如何与常规if/elseblock一起使用。示例:BooleanisValueBig=value>100?true:false;完全重复:HowdoIusetheternaryoperator? 最佳答案 BooleanisValueBig=(value>100)?true:false;BooleanisValueBig;if(value>100){isValueBig=true;}else{isValueBig=false;} 关于c#-三元运算符如何工作?,我们在St

java - 为什么函数 main() 的名称为 main

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4个月前。Improvethisquestion为什么C、C++、Java等很多语言都保留了函数名main()?为什么不是该函数的任何其他名称?所有这3个main()(在C、C++、Java中)是否有任何共同的结构

java - 位数组 Java 的高效连接

我目前正在编写一段代码,其中我已经确定我的两个位数组的串联是瓶颈,并且正在讨论如何提高它的效率。我的位数组建模如下publicBitArray(intsize){intsizeBytes=size/8;if(size%8!=0)sizeBytes++;this.array=newbyte[sizeBytes];this.size=size;}其中size是以位为单位的大小。有效连接两个位数组时面临的挑战是在连接大小为7的位数组与大小为6的位数组时需要发生的跨接。像这样,简单地复制两个数组是不可能的。除了我目前已实现的解决方案之外,我正在研究的解决方案如下:计算“跨区”(例如5位数组的最